java使用Spring api向服务器发送数据
我想通过Spring api将数据从我的安卓客户端发送到我的Restful Spring web服务,但我得到了以下信息:有人能帮我吗? 例如,我想向我的服务器注册一个用户,在我的服务器端,我有这样的注册方法:
@RequestMapping(value = "/register")
public boolean registerNewUser(@RequestParam(name = "user")User user){
if(user!=null){
try {
SessionFactory sessionFactory=HibenateConnection.connectingHibernate();
Session session=sessionFactory.openSession();
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
session.close();
return true;
}catch (Exception e){
e.printStackTrace();
}
}
return false;
}
在客户端,我在Asynctask类中打开连接,如下所示:
@Override
protected ResponseHandler doInBackground(Object... params) {
try {
serverResponse=new ServerResponse();
result = restTemplate.getForObject(URL+conditions,tClass,params);
serverResponse.singleResult=result;
serverResponse.isReady=true;
responseHandler.onServerRespond(serverResponse);
}catch (Exception e){
serverResponse.isReady=false;
serverResponse.message=e.getMessage();
}
return responseHandler;
}
我在我的用户活动中调用了这个方法:
public static void registerUser(User user,ResponseHandler responseHandler){
String condition="/user_api/register?user=";
new Core<Long>(condition,Long.class,responseHandler).execute(user);
}
我在我的核心AsynTask类的第restTemplate.getForObject(URL+conditions,tClass,params);
行得到了一个execption,这个execption是:
Could not create URI object: Illegal character in scheme at index 0: 192.168.1.2:/3000/user_api/register?user
我的服务器Url是192.168.1.2:3000
# 1 楼答案
答案很简单,但通常很难调试,因为很容易忘记在本地url
192.168.1.2
之前添加协议部分http://
。因此,在您的案例中,结束url应该如下所示: